#if !defined(_APP_MESSAGE)
#define _APP_MESSAGE

typedef enum {
    CONN_TYPE_NONE,
    CONN_TYPE_BT,
    CONN_TYPE_LORA,
    CONN_TYPE_WIFI
}ConnectionType;


typedef struct {
   ConnectionType conn_type ;
   int  id_len;
   int  msg_len;
   char *payload;
}Message;


/**
 *  由字节数组转为Message结构体
 */
Message *app_message_bytes_to_message(char *bytes);


/**
 *  由Message结构体转为字节数组
 */
char *app_message_message_to_bytes(Message *msg  , int *bytes_len);


/**
 *   由message 结构体 转为json字符串
 */
char *app_message_message_to_json(Message *msg);

/**
 *  由json字符串转为message结构体
 */
Message *app_message_json_to_message(char *json);

/**
 *  释放message结构体
 */
void app_message_free_message(Message *msg);



#endif // _APP_MESSAGE
